package com.aliang.shopping.model.converter;

import com.aliang.shopping.model.dto.banner.BannerInsertDTO;
import com.aliang.shopping.model.dto.banner.BannerUpdateDTO;
import com.aliang.shopping.model.dto.common.UpdateStatusDTO;
import com.aliang.shopping.model.po.Banner;
import com.aliang.shopping.model.vo.banner.BannerFront;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 轮播图数据转换器
 */
@Mapper(componentModel = "Spring")
public interface BannerConverter {

    /**
     * 将轮播图插入数据传输对象转换为轮播图实体
     *
     * @param insertDTO
     * @return
     */
    Banner toPoByInsertDTO(BannerInsertDTO insertDTO);

    /**
     * 将轮播图更新数据传输对象转换为轮播图实体
     *
     * @param updateDTO
     * @return
     */
    Banner toPoByUpdateDTO(BannerUpdateDTO updateDTO);

    /**
     * 将轮播图更新状态数据传输对象转换为轮播图实体
     *
     * @param updateDTO
     * @return
     */
    Banner toPoByUpdateStaticDTO(UpdateStatusDTO updateDTO);

   BannerFront toBannerFront(Banner banner);
    List<BannerFront> toBannerFrontList(List<Banner> list);
}
